GitHub Actions の VS Code 拡張によるバリデーションで、"Context access might be invalid" という Warning が出る場合のワークアラウンド
こんにちは、製造ビジネステクノロジー部の若槻です。
GitHub Actions でワークフローを実装する場合は、下記の VS Code 拡張機能を利用すると、ワークフローや Action の yml ファイルをバリデーションしてくれたり、構成変数を VS Code から管理できたりして便利です。
今回は、この GitHub Actions の VS Code 拡張によるバリデーションで、Context access might be invalid
という Warning が出てしまう場合のワークアラウンドのご紹介です。
事象
下記のような環境 (environment) が可変となるジョブで構成変数 (vars) を使用しているワークフローを実装しました。
on:
workflow_call:
inputs:
environment:
description: '環境'
required: true
type: string
jobs:
job1:
environment: ${{ inputs.environment }}
runs-on: ubuntu-latest
steps:
- run: echo ${{ vars.MY_VAR_1 }}
左側のペインの通り DEVELOPMENT
という環境の中に MY_VAR_1
という構成変数が追加されており、一見問題なさそうですが、エディター上では Context access might be invalid
というバリデーションの警告が発生しています。
原因、ワークアラウンド
原因としては、inputs.environment
が空となり環境が使用されない場合に、vars.MY_VAR_1
が未定義となるためのようです。
次のように Repository Variable にも同名の構成変数をデフォルト値またはダミー値として追加することで、警告が解消されます。
このような場合には発生しない
下記のように environment が固定されている場合には、前述のようなバリデーションの警告は発生しません。
on: workflow_dispatch
jobs:
job1:
environment: DEVELOPMENT
runs-on: ubuntu-latest
steps:
- run: echo ${{ vars.MY_VAR_1 }}
このことが警告の原因が分かりづらくなる一因でした。
おわりに
GitHub Actions の VS Code 拡張によるバリデーションで、Context access might be invalid
という Warning が出てしまう場合のワークアラウンドのご紹介でした。
どなたかのお役に立てれば幸いです。
以上